iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0

目錄

  1. 偵測過重、過輕
  2. 新增浮動視窗
  3. 成果展示

正文

偵測過重、過輕

這邊加的方式其實很暴力,參考就好ˊˇˋ

  1. 由於是修改顯示的內容,所以我主要修改得地方是 showBMI,利用字串用加號會串接得原理,呼叫 getBmiData,希望這個函式可以給我們過輕或過胖的資訊
    private fun showBMI(){
        val resultText: TextView = findViewById(R.id.textView) // 跟剛剛 Button 是一樣的
        bmi.roundToTwoDecimalPlaces()
        resultText.text = bmi.getBmi() + bmi.getBmiData()
    }
    
  2. 我們到 class 的地方新增 getBmiData
    public fun getBmiData(): String{
        if(_bmi<18)
            return "(過輕)"
        if(_bmi>24)
            return "(過重)"
        return "(正常)"
    }
    
  3. 快樂完成!
    https://ithelp.ithome.com.tw/upload/images/20230929/201623873tLgXWwebo.png

新增浮動視窗

這裡要介紹一個可愛的物件叫做 toast 吐司先生,用來顯示訊息或提醒,使用上非常簡單。

簡單介紹一下吐司先生的參數:

  • context:上下文
  • text:希望顯示的文字
  • duration:顯示時間,官方只有提供 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG,分別顯示2秒和3.5秒
    val toast = Toast.makeText(context, text, duration)
    

回到我們的程式,讓我們一起來烤土司讓 APP 增加質感吧!

  1. 宣告一個 Toast 的變數(如果程式報錯,可以把 this 改成 applicationContext)
    class MainActivity : AppCompatActivity() {
        private val bmi = Bmi()
    
        override fun onCreate(savedInstanceState: Bundle?) {
    				super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    				val toast = Toast.makeText(this,"計算完成!",Toast.LENGTH_SHORT)
    				val button: Button = findViewById(R.id.button3)
            button.setOnClickListener{
    						/.../
    				}
    		}
    		/.../
    }
    /.../
    
  2. 在按鈕觸發那邊當計算和顯示 BMI 的工作做完後,顯示 Toast
    button.setOnClickListener{
        calculateBMI()
        showBMI()
        toast.show()
    }
    

成果展示

最後就是可愛的影片展示啦!成品影片

總結

今天呢用了一些很暴力的做法,完成了偵測和吐司先生,這是我們第二個完成的專案,目前預計還會做第三個,只是第三個在物件上會變得非常複雜,希望大家可以跟我一起撐過去;其實到這邊我自己覺得 Android Studio 真的沒有很難,去除需要熟悉用法之類的,其他都單純考驗自己寫程式的能力而已,我很慶幸我大學有學好程式架構,不然真的會寫到哭出來。

太好了!大家終於可以有一個應用程式來檢測自己中秋節有沒有變胖了(x)。

最後祝大家中秋節快樂,烤肉吃爽爽,永遠不會胖~

下一篇預計會教學更多排版內容,請不要期待。

參考資料

GiveMePasS's Android惡補筆記 如何使用Toast(kotlin)
https://givemepass.blogspot.com/2019/04/toastmd.html


上一篇
Day.13 小專案練習(BMI 博士)- 2
下一篇
Day.15 學習XML 高級練習班 - 排版設計
系列文
剛學Kotlin的我想要玩安卓開發,自學 Android Studio 30 天31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言